package com.cqhilink.iot.jobstandardmanagement.facade.service.permission;

import com.alibaba.fastjson.JSONObject;
import com.cqhilink.iot.jobstandardmanagement.facade.model.Employee;
import com.cqhilink.iot.jobstandardmanagement.facade.model.EmployeeVo;
import com.cqhilink.iot.jobstandardmanagement.facade.model.MenuButton;
import com.cqhilink.iot.jobstandardmanagement.facade.model.RoleMenuButton;

import java.util.List;

/**
 * Created by Administrator on 2017/2/17.
 */
public interface JsmRoleMenuButtonService {
    /**
     * 根据ID删除
     *
     * @param roleMenuButtonId
     * @return
     */
    int deleteByPrimaryKey(String roleMenuButtonId);

    /**
     * 添加
     *
     * @param record
     * @return
     */
    int insert(RoleMenuButton record);

    /**
     * 非空添加
     *
     * @param record
     * @return
     */
    int insertSelective(RoleMenuButton record);

    /**
     * 根据ID查询
     *
     * @param roleMenuButtonId
     * @return
     */
    RoleMenuButton selectByPrimaryKey(String roleMenuButtonId);

    /**
     * 根据条件查询ID集合
     *
     * @param list
     * @return
     */
    List<String> selectByListId(List<RoleMenuButton> list);

    /**
     * 非空修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(RoleMenuButton record);

    /**
     * 修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(RoleMenuButton record);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量添加
     * @Date 2017/2/8 17:17
     */
    int insertList(List<RoleMenuButton> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量修改
     * @Date 2017/2/8 17:17
     */
    int updateList(List<RoleMenuButton> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量逻辑删除
     * @Date 2017/2/8 17:17
     */
    int deleteList(List<RoleMenuButton> list);

    /**
     * @param menuId 菜单Id
     * @param roleId 角色Id
     */
    JSONObject queryBtnJsonObjectByMenu(String menuId,String roleId) throws Exception;


    /**
     * @param menuId 菜单ID
     * @param roleId 角色ID
     * @param btnIds 按钮Id
     */
    Integer insertBtnMenuRole(String menuId,String roleId,String btnIds) throws Exception ;

    /**
     * 根据当前登录人查询登录人的所有按钮权限
     */
    List<MenuButton>  queryBtnByLoginEmployeeVo(EmployeeVo employeeVo) throws Exception ;



}
